为了账号安全,请及时绑定邮箱和手机立即绑定

Jquery 通配选择符

标签:
JQuery

今天逛Q群遇到一个网友请教问题:

问题如下,他需要在查找ID为sch开头的元素中分别查找出各自包含sub001的数量,

如:ID:sch002、sch033 DIv元素等等后面的数字是随机的,里面都会包含sub001元素,数量不一;一开始网友是想打算使用for循环来解决,无疑会中招;因为第一循环量大(因为你无法预计sch后的数字有多小位需要设定一个)造成运行损耗内存大,运行速度慢,而且查找到没有元素操作时会报错。

所以我介绍他使用^= Jquery的统配选择符,确实好使好用立马解决他的问题;解决原一后他又提了一个问题,他需要分别获取sch后面那个数字需要怎么做? 其实来到这一步思路都清晰的,直接获取一下是sch开头的元素,然后$(this) attr一下ID属性,再利用js截取一下字符,OK搞掂 !! 

下面就是一个小例子:


$(function(){

  $("div[id^='sch']").each(function(){

    var schsize = $(this).find('#sub001').size();

    var thisId = $(this).attr('class');   

    alert(thisId+"含#d1的数量为"+schsize );

   //利用substring截取sch后的数字

   alert(thisId.substring(3) )

  })

})


<div id="sch002">

   <div id="sub001"></div>

   <div id="sub001"></div>

   <div id="sub001"></div>

   <div id="sub002"></div>

</div>


<div id="sch033">

   <div id="sub001"></div>

   <div id="sub002"></div>

   <div id="sub001"></div>

   <div id="sub002"></div>

</div>


普及一下:

1.选择器

(1)通配符:

$("input[id^='code']");//id属性以code开始的所有input标签

$("input[id$='code']");//id属性以code结束的所有input标签

$("input[id*='code']");//id属性包含code的所有input标签


(2)根据索引选择

$("tbody tr:even"); //选择索引为偶数的所有tr标签

$("tbody tr:odd"); //选择索引为奇数的所有tr标签


(3)获得jqueryObj下一级节点的input个数

jqueryObj.children("input").length;


(4)获得class为main的标签的子节点下所有<a>标签

$(".main > a");


(5)选择紧邻标签

jqueryObj.next("div");//获取jqueryObj标签的后面紧邻的一个div,nextAll获取所有


2.筛选器  

//not

$("#code input:not([id^='code'])");//id为code标签内不包含id以code开始的所有input标签

3.事件


//处理文本框上的键盘操作

jqueryObj.keyup(function(event){

var keyCode = event.which;//获取当前按下键盘的键值,回车键为13

}


4.工具函数

$('#someField').val($.trim($('#someField').val()));//消除空格,语法:$.trim(value)


 不会到会,只是一个过程! 



点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消